In a conventional network architecture, when a fault occurs on a forwarding device due to a hardware or software problem, for example, a port error code fault, a port error frame fault, a single-fiber fault, and the like on the forwarding device, and fault information needs to be transferred to another device, a protocol packet is usually used for transferring. Therefore, multiple forwarding devices together optimize a packet forwarding path associated with the fault. A commonly used protocol packet is a Bidirectional Forwarding Detection (BFD) protocol, which can implement fast convergence of links and therefore ensure always-on services.
An example of a solution of transferring cyclic redundancy check (CRC) error codes on a port by applying the BFD protocol is used. CRC error code detection is performed on a port of a forwarding device. After a CRC error code is detected on the port, error code information is sent to an ingress node of a forwarding path by using a BFD packet. Multiple forwarding devices on the forwarding path separately calculate a CRC error code. The ingress node summarizes the error codes on a forward forwarding path and calculates an error code rate, to determine whether the error code rate exceeds a preset threshold and further determine whether to trigger the forwarding path and a service switchover. In this process, the BFD packet can reach the ingress node only by passing through the multiple forwarding devices, and therefore a consumed time is long. As a result, services may be interrupted and hardware resources of a BFD system may be occupied.